<?php
//设置默认时区
date_default_timezone_set("PRC");

/*
php上传 iframe
吕海鹏 2010-5-10 最后修改 2015-1-9 

<input name="LogoUrl" type="text" id="filenameid"  size="60" /><br />
<iframe  ID="UploadFiles" frameborder="0" scrolling="no" width="600" height="140" src="./deep_upload_iframe.php?savePath=../../uploadfile&backIdName=filenameid&MaxSize=500&FileType=gif/jpg/png/bmp&saveName=0"></iframe>
*/
?><!DOCTYPE HTML><html><head>
<meta charset="utf-8"><title>深度学习php上传</title>
<style type="text/css">
	body { 	font-family:"宋体";	margin:0; padding:0; margin-top:3px;
			background: #FFF; 	font-size:12px; color:#000;
		}
</style>
<script type="text/javascript">
	function check() 
	{
		var oFileName=document.uploadForm.uploadFileName;
		if (oFileName.value==""){
			alert("请选择要上传的文件");
			oFileName.focus();
			return false;
		}
	}
</script>
</head>
<body>
<?php
/*
$_FILES["uploadFileName"]["name"] - 被上传文件的名称 
$_FILES["uploadFileName"]["type"] - 被上传文件的类型 
$_FILES["uploadFileName"]["size"] - 被上传文件的大小，以字节计 
$_FILES["uploadFileName"]["tmp_name"] - 存储在服务器的文件的临时副本的名称 
$_FILES["uploadFileName"]["error"] - 由文件上传导致的错误代码 
*/
//设置上传文件尺寸  例如：最大为500K 输入 500
$MaxSize=$_GET["MaxSize"] ;//*1024
//设置文件限制格式 允许的附件类型 例如：gif/jpg/rar/zip
$FileType=$_GET["FileType"];
//设置文件的保存路径，
$savePath=$_GET["savePath"];
//返回到表单的值 例如：form1.fProducts_Pic
$backIdName=$_GET["backIdName"];
//定义上传后的文件名	0：自动取无重复的服务器时间字符串为文件名	'1：自动取源文件名	'字符串：自定义的文件名，如"mypic.jpg"
$saveName=$_GET["saveName"];
if(empty($saveName)){ $saveName=0; }

//检查目录是否存在-----------
if(file_exists($savePath)==false){
	mkdir($savePath);
}

if( isset($_GET["action"])&&"add"==$_GET["action"] )
{
	if ($_FILES["uploadFileName"]["error"] > 0)
	{
	  echo "Error: " . $_FILES["uploadFileName"]["error"] . "<br />";
	}else{
		
		if( stripos( $FileType, get_file_extension($_FILES["uploadFileName"]["name"] ) )!==false ){
			$upload_file_name=upload_file_savename($_FILES["uploadFileName"]["name"],$saveName);
			move_uploaded_file($_FILES["uploadFileName"]["tmp_name"], $savePath .'/'.$upload_file_name);//保存被上传的文件
			echo 'ok ';
			echo "上传成功,文件地址：<span style='color:#00f'>".$savePath.'/'.$upload_file_name."</span>";
			?>
			<script type='text/javascript'>
				window.onload=function(){
					var parentBackId=parent.document.getElementById('<?php echo $backIdName?>');
					parentBackId.value='<?php echo $upload_file_name?>';
				}
            </script>
			<?php
		}else{
			echo '上传失败，请检查文件类型';
		}
	}
}

//--------------------
/*
定义上传后的文件名	0：自动取无重复的服务器时间字符串为文件名	
								1：取源文件名； 	
								字符串：自定义的文件名，如"mypic.jpg"
*/
function upload_file_savename($upload_file_name,$save_name=0){
	$str_file_ext= get_file_extension($upload_file_name);	//得到扩展名
	$str_file_name='';
	switch($save_name){
		case '0':	
			$str_file_name=date('YmdHis').mt_rand(100,999);
			$save_name= $str_file_name.'.'.$str_file_ext;
			break;
		case '1':
			$save_name= $upload_file_name;
			break;
		default:
			$save_name=$save_name.'.'.$str_file_ext;
	}
	return $save_name;
}

//得到文件扩展名
function get_file_extension($file_name){
	$path_parts = pathinfo($file_name);
	return $path_parts["extension"];
}
?>
<form action="?action=add&MaxSize=<?php echo $MaxSize ?>&FileType=<?php echo $FileType ?>&savePath=<?php echo $savePath ?>&backIdName=<?php echo $backIdName ?>&saveName=<?php echo $saveName ?>" enctype="multipart/form-data" name="uploadForm" method="post" onsubmit="return check()">
  图片上传：
  <input name="uploadFileName" type="file" id="uploadFileName" />
  <input type="submit" name="submit" value="上传" />
  (大小&lt;<?php echo ($MaxSize); ?>K 文件类型：<?php echo $FileType ?>)
  <br /><br /><br /><br /><br />
  <input type="text" name="FileType" value="<?php echo $FileType ?>"/>
  <input type="text" name="savePath" value="<?php echo $savePath ?>"/>
  <input type="text" name="backIdName" value="<?php echo $backIdName ?>"/>
  <input type="text" name="saveName" value="<?php echo $saveName ?>"/>
  <input type="text" name="MaxSize" value="<?php echo $MaxSize ?>"/>
</form>
</body></html>